#ifndef ACTIONHANDLER_H
#define ACTIONHANDLER_H

//#include <tsubamegaeshi-base/connection.h>
#include <boost/shared_ptr.hpp>
#include <string>
#include <map>
#include <iostream>
#include <sstream>

class Actionhandler
{
  std::map<std::string, double> hj_commands_;
  std::map<std::string, std::pair<double, double> > uj_commands_;
  std::string commands_;

public:
  typedef boost::shared_ptr< Actionhandler > shared_ptr;
  Actionhandler();
  ~Actionhandler();

  void clear();
  std::string get_commands();

  void scene(const std::string name);
  void init(const std::string name);
  void beam(double x, double y, double angle);

  virtual bool action() { return true; }

  bool lae1_2(double v1, double v2);
  bool lae3(double v);
  bool lae4(double v);

  bool rae1_2(double v1, double v2);
  bool rae3(double v);
  bool rae4(double v);

  bool lle1(double v);
  bool lle2_3(double v1, double v2);
  bool lle4(double v);
  bool lle5_6(double v1, double v2);

  bool rle1(double v);
  bool rle2_3(double v1, double v2);
  bool rle4(double v);
  bool rle5_6(double v1, double v2);

};

#endif//ACTIONHANDLER_H
